package br.com.web.panificadora.DAO;

import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import br.com.web.panificadora.beans.Login;
import br.com.web.panificadora.beans.Usuario;
import br.com.web.panificadora.repositorio.UsuarioRepositorio;

@Component
public class UsuarioDAO extends HibernateBaseDao<Usuario> implements UsuarioRepositorio{
	
	private SessionFactory factory;

	@Autowired
	public UsuarioDAO(SessionFactory factory) {
		super(Usuario.class, factory);
		this.factory = factory;
	}

	public Usuario findUserByLoginUser(Login login) {
		
		Criteria crit = factory.openSession().createCriteria(Usuario.class);
		
		crit.createAlias("login", "l");
		
		crit.add(Restrictions.eq("l.usuario", login.getUsuario()));
		
		return (Usuario) crit.uniqueResult();
	}

}
